package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.HighLeverFaultDto;
import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;

import java.util.List;

/**
 * Created by xu_jiaHui on 2018/3/24.
 */
public interface HighLeverFaultService {
    /**
     * @Description: 获取窨井datatable
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public DTResponseDto getHighLeverReportFault4DT(DTRequestDto dtRequestDto, Integer actorId, Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 窨井详情
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public HighLeverFaultDto getHighLeverInfo2Fault(Integer highLeverId) throws Exception;

    /**
     * @Description: 窨井故障详情
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public HighLeverFaultDto getHighLeverFaultInfo2Fault(Integer highLeverId, Integer highLeverFaultId) throws Exception;

    /**
     * @Description: 更新故障
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer updateHighLeverFault(Integer highLeverFaultId, Integer highLeverFaultLevel, Integer highLeverFaultType, String highLeverFaultPhoto, String highLeverFaultReason, Double highLeverMoney) throws Exception;

    /**
     * @Description: 删除窨井故障
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer deleteHighLeverFaultByIds(String highLeverFaultIds) throws Exception;

    /**
     * @Description: 获取窨井坐标4地图上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<HighLeverFaultDto> getHighLeverCoordinate4Map(Integer orgId, Integer actorId) throws Exception;

    /**
     * @Description: 根据窨井坐标获取信息
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<HighLeverFaultDto> getHighLeverByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 窨井DT4故障上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public DTResponseDto getHighLeverFaultReport4DT(DTRequestDto dtRequestDto, Integer actorId, Integer orgId, String highLeverRoadName, String highLeverStartRoad, String highLeverEndRoad) throws Exception;


    /**
     * @Description: 判断是否窨井可上报：1可以，0不行
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer getHighLeverFaultIsReport(Integer highLeverId) throws Exception;

    /**
     * @Description: 故障上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer reportHighLeverFault(Integer highLeverId, Integer highLeverFaultCreatorId, Integer highLeverFaultLevel, Integer highLeverFaultType,
                                    String highLeverFaultPhoto, String highLeverFaultReason, Double highLeverMoney, Integer highLeverOrgId, Integer highLeverMainOrgId) throws Exception;

    /**
     * @Description: 获取第一个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 根据第一个获取第二个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getSectionByStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 获取上报list
     * @Author: jiang-weirong
     * @Date: 2017/7/25 14:04
     */
    public List<HighLeverFaultDto> getHighLeverFaultList4App(Integer orgId, String actorIds, Integer faultStatus, Integer count, Integer size) throws Exception;

}
